# _*_ coding:utf-8 _*_
# 开发团队: Mavericks
# 开发人员：Maverick·Ming
# 开发IDE： PyCharm
#   项目名：HelloWorld
#   文件名：9.12线程之间的执行顺序.py
# 开发时间：2021/5/11 18:14

import threading
import time


def task1(num):
    """打印内容，观察执行顺序"""
    for i in range(10):
        print(f'task{num}:打印第{i}次')


def task2():
    """打印线程id，观察执行顺序"""
    thread_id = threading.current_thread()
    # 由于创建时间与执行时间一样快，容易误以为是顺序执行
    # 我们加个延迟执行，再看看执行顺序
    time.sleep(1)
    print(thread_id)


if __name__ == "__main__":
    # 线程间的执行顺序，是否与创建顺序有关
    # for i in range(5):
    #     sub_thread = threading.Thread(target=task1, args=(i,))
    #     sub_thread.start()

    for i in range(5):
        sub_thread = threading.Thread(target=task2)
        sub_thread.start()
# 结论：多线程之间的执行顺序是无序的，顺序由cpu调度决定
